Access VBA において「CoCmd」というオブジェクトは存在しません。おそらく「DoCmd」の誤記だと考えられます。以下では、正しい DoCmd
オブジェクトの概要と基本構文 について詳しく解説します。
目次
🔹 DoCmd
オブジェクトとは?
DoCmd
は、Access アプリケーションの操作を VBAコードから実行するためのオブジェクトです。たとえば、フォームやレポートの開閉、クエリの実行、印刷、エクスポートなど、ユーザーがUI上で行う操作を自動化できます。
🔸 基本構文
DoCmd.操作名 引数1, 引数2, ...
例:
' フォームを開く DoCmd.OpenForm "frmCustomers", acNormal ' レポートをプレビューで開く DoCmd.OpenReport "rptSales", acViewPreview ' クエリを実行する DoCmd.OpenQuery "qryUpdateStock" ' 次のレコードに移動 DoCmd.GoToRecord , , acNext
🔹 主なメソッド一覧と説明
メソッド | 説明 |
---|---|
OpenForm | 指定したフォームを開く |
Close | フォーム、レポート、テーブルなどを閉じる |
OpenReport | レポートを開く(印刷/プレビューなど) |
OpenQuery | 指定のクエリを実行 |
GoToRecord | 指定レコードへ移動 |
RunSQL | SQL文を実行(更新・削除など) |
TransferSpreadsheet | Excelとデータのインポート/エクスポート |
SetWarnings | アクションクエリ実行時の警告表示をON/OFF |
Beep , Hourglass | ビープ音を鳴らす、砂時計表示などのUI操作 |
🔸 よくある実用例
' 警告を一時的に非表示にしてSQL実行 DoCmd.SetWarnings False DoCmd.RunSQL "DELETE FROM tblOldRecords WHERE Date < Date() - 365" DoCmd.SetWarnings True ' クエリ結果を Excel にエクスポート DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _ "qryExportData", "C:\data\export.xlsx", True